package com.chapter10.demo4;


// protected Object clone()throws CloneNotSupportedException
// 要利用Java提供的克隆机制复制对象的话，那么该对象所属的类必须实现Cloneable接口（Object类本身没有实现Cloneable接口）。
// 在Cloneable接口中没有声明任何方法，这样的接口我们称之为标记接口。

// 同时该对象需要重写Object的clone方法，然后通过super.clone（）来调用Object的clone方法完成对象的复制
public class Persion implements Cloneable{
    private String name;
    private int age;

    private Persion partner;
    public Persion(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public Persion getPartner() {
        return partner;
    }

    public void setPartner(Persion partner) {
        this.partner = partner;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public Persion clone(){
        try {
            Persion p = (Persion) super.clone();  //super.clone()是Object对象向下转型为Persion对象
            return p;
        } catch (CloneNotSupportedException e) {
            throw new RuntimeException(e);
        }
    }
}
